
#ifndef petra_types_h
#define petra_types_h

#include <vector>

#include "Vector.h"

using namespace std;
using namespace OhioState::Math;

namespace Velyn {
   
    typedef Vector3 Vertex;
    typedef vector<Vertex> VertexList;

    typedef int VertexIndex;
    typedef vector<VertexIndex> VertexIndexList;

    typedef int TriangleIndex;
    typedef vector<TriangleIndex> TriangleIndexList;

    typedef int Triangle;
    typedef vector<Triangle> TriangleList;

    typedef Vector3 Normal;
    typedef vector<Normal> NormalList;

    typedef int NormalIndex;

    typedef Vector2 Texture;
    typedef vector<Texture> TextureList;

    typedef Vector3 Color;
    
    typedef struct {
        Color ambient, diffuse, specular;
        float shininess;
    } Material;
}
    
#endif
